Часть про сами алгебраические типы и полиморфизм я опущу. Это где-то ещё есть. Начну с места в карьер.
В Хаскеле можно сделать типизированный ввод-вывод, а-ля Ada или Паскаль. Ну, там файл объявляется, как содержащий структуры: variable f : file of some_record и ничего, кроме some_record оттуда прочитать нельзя.
Как это сделать в Хаскеле:
data
(
Read more... )